/**
 * 公共的 API
 * @author rxajaxliuli
 */
const commonApi = new class CommonApi {
    using(url) {
        return '/common' + url
    }

    /**
     * 重定向到指定的 url
     * @param pagePath url
     */
    redirect(pagePath) {
        rxajax.get(this.using('/redirect'), {
            pagePath,
        })
    }

    /**
     * 转发到指定模板
     * @param pagePath 模板路径
     */
    forward(pagePath) {
        rxajax.get(this.using('/forward'), {
            pagePath,
        })
    }

    /**
     * 根据相对路径下载文件
     * @param filePath 相对路径
     * @returns {Promise.<Blob>} 文件流
     */
    download(filePath) {
        return rxajax.get(this.using('/download'), {
            filePath,
        })
    }

    /**
     * 获取当前 ip 地址
     * @returns {Promise.<String>} 当前 ip
     */
    async currentIp() {
        return (await rxajax.get(this.using('/current-ip'))).data.data
    }
}()